Partiality, State and Dependent Types
نویسندگان
چکیده
Partial type theories allow reasoning about recursively-defined computations using fixed-point induction. However, fixed-point induction is only sound for admissible types and not all types are admissible in sufficiently expressive dependent type theories. Previous solutions have either introduced explicit admissibility conditions on the use of fixed points, or limited the underlying type theory. In this paper we propose a third approach, which supports Hoare-style partial correctness reasoning, without admissibility conditions, but at a tradeoff that one cannot reason equationally about effectful computations. The resulting system is still quite expressive and useful in practice, which we confirm by an implementation as an extension of Coq.
منابع مشابه
CoqJVM: An Executable Specification of the Java Virtual Machine Using Dependent Types
We describe an executable specification of the Java Virtual Machine (JVM) within the Coq proof assistant. The principal features of the development are that it is executable, meaning that it can be tested against a real JVM to gain confidence in the correctness of the specification; and that it has been written with heavy use of dependent types, this is both to structure the model in a useful w...
متن کاملLanguage Independent Refinement Using Partial Modeling
Models express not only information about their intended domain but also about the way in which the model is incomplete, or partial . This partiality supports the modeling process because it permits the expression of what is known without premature decisions about what is still unknown, until later re nements can ll in this information. A key observation of this paper is that a number of partia...
متن کاملConstrained Type Families (extended version)
We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type families in Haskell provide a powerful, modular means of dening type-level computation. However, their current design implicitly assumes that type families are...
متن کاملConstrained Type Families (extended version), preprint
We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type families in Haskell provide a powerful, modular means of dening type-level computation. However, their current design implicitly assumes that type families are...
متن کامل5 Morality and Reasonable Partiality ∗
What is the relation between morality and partiality? Can the kind of partiality that matters to us be accommodated within moral thought, or are morality and partiality rival sources of normative considerations? These are questions that moral philosophy has struggled with in recent decades.1 They may not have much intuitive resonance, because the term ‘partiality’ is not used much in everyday d...
متن کامل